Excel VBA 高级编程 您所在的位置:网站首页 excel vba开发ERP的缺点 Excel VBA 高级编程

Excel VBA 高级编程

2024-06-04 15:52| 来源: 网络整理| 查看: 265

大家好,我是陈小虾,是一名自动化方向的IT民工。写博客是为了记录自己的学习过程,通过不断输出倒逼自己加速成长。但功能说明:由于水平有限,博客中难免会出现一些BUG,或者有更优方案恳请各位大佬不吝赐教!微信公众号:万能的Excel

功能说明:

1、根据每天的出库、入库记录,自动筛选出产品ID号

2、实时统计每个产品的库存状态

3、自动统计每个月产品总出库、入库数量

关注公众号:万能的Excel     并回复【进销表】获取源文件!

Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim d1 As Object, d2 As Object, arr, i As Integer, k, brr Set d1 = CreateObject("scripting.dictionary") Set d2 = CreateObject("scripting.dictionary") Set d3 = CreateObject("scripting.dictionary") If (12 < Target.Rows) And (1 < Target.Columns < 11) Then arr = Range("c11").CurrentRegion For i = 2 To UBound(arr) If Len(arr(i, 3)) Then If d1(arr(i, 3)) = "" Then '如果是否有数据 If arr(i, 5) = "入库" Then d1(arr(i, 3)) = arr(i, 6) '如果该关键字第一次出现 Else d2(arr(i, 3)) = arr(i, 6) End If d3(arr(i, 3)) = arr(i, 2) Else '当该关键字出现了第二次以上 If arr(i, 5) = "入库" Then d1(arr(i, 3)) = d1(arr(i, 3)) + arr(i, 6) '如果该关键字第一次出现 Else d2(arr(i, 3)) = d2(arr(i, 3)) + arr(i, 6) End If End If End If Next i f = 12 For Each k In d1.keys '遍历每一个关键字 Cells(f, "l") = k Cells(f, "m") = d3(k) Cells(f, "n") = d1(k) Cells(f, "o") = d2(k) Cells(f, "p") = d1(k) - d2(k) f = f + 1 Next k f = 0 End If End Sub

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

      专题文章
        CopyRight 2018-2019 实验室设备网 版权所有